1. Field of the Invention
The present invention relates to decoding data in communication or recording systems, and, more particularly, to processing of extrinsic information generated during iterative decoding of an encoded frame of data.
2. Description of the Related Art
Multi-dimensional encoding of data with convolutional codes and iterative decoding of the encoded data are employed in many communication systems due to the relatively high coding gain and simple structure of the decoder. The following definitions may be of use to understand the encoding and decoding methods. A set of binary values U is defined in the Galois field-2 (GF(2)) with elements {+1, xe2x88x921} where xe2x88x921 is the xe2x80x9cnullxe2x80x9d element under modulo-2 addition. The reliability value, or soft value, L(u) is the log-likelihood ratio of the binary random values in U and is defined as the (natural) log of the ratio of the probability that the random variable U takes on the value u=+1 (logic 1) to the probability that the random variable U takes on the value u=xe2x88x921 (logic 0). The sign of L(u) is used as a hard decision by a detector or decoder, and the magnitude of L(u) is used as a reliability statistic (value) for the hard decision.
Iterative decoding methods may employ xe2x80x9csoft-in, soft-outxe2x80x9d decoders for decoding data. In an iterative decoding scheme, encoded data is repetitively decoded by two or more decoding modules until a predetermined number of decoding iterations are complete. In an iterative decoding scheme, the reliability values based on the information are updated at each iteration, utilizing the information extracted from the previous iteration process. Decoding produces a posteriori reliability values for the output, decoded data. The a priori reliability values may either be 0 for the first iteration (since there is no a priori information) or, after the first iteration, extrinsic reliability values for the information bits from a previous iteration. The extrinsic reliability values are values based on indirect information contained in the decoded information bits, and may be generated from the a posteriori reliability values. In general, the a posteriori reliability values and/or the extrinsic reliability values of an iteration are employed as extrinsic information input to a decoder for decoding data during the next iteration.
The present invention relates to generating thresholds for saturation values to limit the range of values that extrinsic information of an iterative decoder may have while maintaining acceptable system performance measures, such as bit error rate. In accordance with exemplary embodiments, the saturation values reduce the width of the representation (e.g., binary values) used by an iterative decoder when storing and otherwise performing arithmetic operations with the extrinsic information, thereby providing advantages of, for example, reduced circuit power consumption and implementation size.
In accordance with an exemplary embodiment of the present invention, iterative decoding of an encoded frame of data comprises performing a first iteration of decoding the encoded frame of data during which extrinsic information is calculated. The value of the extrinsic information is compared to a saturation value; and, if the value of the extrinsic information exceeds the saturation value, the value of the extrinsic information is set to a value related to the saturation value that is exceeded. The saturation value defines a bound for a range of the values for the extrinsic information based on a confidence measure while maintaining a performance measure for iterative decoding.